<?php


if(!function_exists('upload_img')){
    /**
    $posturl上传图片的地址
    $path本地图片所在的地址
     **/
    function upload_img($path,$park_id){
        set_time_limit(0);
        $ch = curl_init();

// 要上传的本地文件地址"@F:/xampp/php/php.ini"上传时候，上传路径前面要有@符号
        // $path = 'https://gss0.bdstatic.com/94o3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign=13dafb7adfc451daf6f60bed8ec6355b/3b87e950352ac65c18370557f9f2b21193138ae7.jpg';
        $post_data = array (
            "image1" => new CURLFile($path),
            'park_id'=>$park_id
        );
//CURLOPT_URL 是指提交到哪里？相当于表单里的“action”指定的路径
        $url = config('wx.img_upload_path');
        //$url  = 'http://zhyq/wx/hub/test?park_id=7';
//设置变量
        curl_setopt($ch,CURLOPT_TIMEOUT,120);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行结果是否被返回，0是返回，1是不返回
        curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置，是否显示头部信息，1为显示，0为不显示
//伪造网页来源地址,伪造来自百度的表单提交
        //curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");
//表单数据，是正规的表单设置值为非0
        $header = array(
            'Content-Type: multipart/form-data',
        );
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//使用数组提供post数据时，CURL组件大概是为了兼容@filename这种上传文件的写法，
//默认把content_type设为了multipart/form-data。虽然对于大多数web服务器并
//没有影响，但是还是有少部分服务器不兼容。本文得出的结论是，在没有需要上传文件的
//情况下，尽量对post提交的数据进行http_build_query，然后发送出去，能实现更好的兼容性，更小的请求数据包。
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//执行并获取结果

        $output = curl_exec($ch);
        if ($output === FALSE){
            echo 'cURL Error:'.curl_error($ch);
            die;
        }
//    释放cURL句柄
        curl_close($ch);
        return $output;
    }
}
function http_post($url,$params){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_TIMEOUT,120);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行结果是否被返回，0是返回，1是不返回
    curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置，是否显示头部信息，1为显示，0为不显示
//伪造网页来源地址,伪造来自百度的表单提交
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
    $output=curl_exec($ch);
    curl_close($ch);
    return $output;
}

if(!function_exists('getTree')){
    function getTree($items,$pid ="pid") {
        $map  = [];
        $tree = [];
        foreach ($items as &$it){ $map[$it['id']] = &$it; }  //数据的ID名生成新的引用索引树
        foreach ($items as &$it){
            $parent = &$map[$it[$pid]];
            if($parent) {
                $parent['son'][] = &$it;
            }else{
                $tree[] = &$it;
            }
        }
        return $tree;
    }
}

if(!function_exists('getDirList')){
    function getDirList($path,$filter=true){
        $dirList = scandir($path);
        $arr = [];
        if($filter){
            foreach ($dirList as $k=>$v){
                if(count(explode('.blade',$v))>1){
                    $temp = explode('.blade',$v)[0];
                    $arr[$v] = $temp;
                }
            }
        }
        return $arr;
    }
}

if(!function_exists('post_request')){
    function post_request($url,$post_data){
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        // post数据
        curl_setopt($ch, CURLOPT_POST, 1);
        // post的变量
        curl_setopt($ch, CURLOPT_POSTFIELDS, \GuzzleHttp\json_encode($post_data));

        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }
}

if(!function_exists('coverKey')){
    function coverKey($array,$key){
        $ary = [];
        foreach ($array as $k=>$v){
            $ary[$v[$key]] = $v;
        }
        return $ary;
    }
}
